package com.example.s3demo.config

import jakarta.servlet.MultipartConfigElement
import org.springframework.beans.factory.annotation.Value
import org.springframework.boot.web.servlet.MultipartConfigFactory
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import org.springframework.util.unit.DataSize


@Configuration
class MultipartConfig {
    @Value("\${spring.http.multipart.max-file-size}")
    lateinit var maxfilesize: String

    @Value("\${spring.http.multipart.max-request-size}")
    lateinit var maxrequestsize: String

    @Bean
    fun multipartConfigElement(): MultipartConfigElement {
        val factory = MultipartConfigFactory()
        //  单个数据大小
        factory.setMaxFileSize(DataSize.ofMegabytes(maxfilesize.toLong())) // KB,MB
        /// 总上传数据大小
        factory.setMaxRequestSize(DataSize.ofMegabytes(maxrequestsize.toLong()))
        return factory.createMultipartConfig()
    }
}